package com.trippartner.client.pattern;

import com.google.gwt.user.client.ui.HasWidgets;
import com.google.web.bindery.event.shared.EventBus;

public abstract class MVPPresenter<D extends MVPDisplay> {
	protected D display;
	protected EventBus eventBus;

	public MVPPresenter(D display, EventBus eventBus) {
		this.display = display;
		this.eventBus = eventBus;
		registerHandler();
	}

	protected abstract void registerHandler();
	
	protected abstract void bind();

	public abstract void go(final HasWidgets container);
}
